;(function($){
'use strict';
 $.fn.pagination=function(options){

     var defaults={
         total:1,
         handler:null

     };
     $.extend(defaults,options);
      this.html("<ul class=\"pagination\"></ul>");
     var   pageUl=this.children();
     var realTotal=defaults.total<=10?defaults.total:10
     var t1="<li class=\"indexli active\"><a href=\"#\">1</a></li>";
     pageUl.append(t1);
     for(var i=2;i<=10;i++){
         var ti;
         if(i>realTotal){
              ti="<li class=\"indexli\" ><a style=\"display:none \"  href=\"#\">"+i+"</a></li>";
         }else{
             ti="<li class=\"indexli\"><a href=\"#\">"+i+"</a></li>";
         }
        
          pageUl.append(ti);
     }
     pageUl.children().click(gotoHandler);
     var  goFirst=$("<li><a href=\"#\">&laquo;</a></li>");
     var   goLast=$(" <li><a href=\"#\">&raquo;</a></li>");
     goFirst.click(function(event){
         var  li=event.currentTarget;
        var index=$(li).next().text();
            if(index>1){
                  pageUl.find(".indexli>a").each(function(index){
                        var old=$(this);        
                         old.text(parseInt( old.text())-10);
                         old.show();
                  });
            }
     });
     goLast.click(function(event){
             var  li=event.currentTarget;
        var index=$(li).prev().text();
            if(index<defaults.total){
                  pageUl.find(".indexli>a").each(function(){
                        var old=$(this);
                         old.text(parseInt( old.text())+10);
                        if(parseInt( old.text())>defaults.total){
                            old.hide();
                        }
                      
                  });
            }

     });
     pageUl.append(goLast);
     pageUl.prepend(goFirst);
     function gotoHandler(event){
         var a=event.target;
          var  li=event.currentTarget;
          pageUl.children(".indexli").removeClass("active");
          $(li).addClass("active");
          $.isFunction( defaults.handler ) && defaults.handler.call(a);
     }
 };
})(jQuery)